package ar.com.tallerdos.smartdinner.model;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;

import com.google.gson.annotations.Expose;

@SuppressWarnings("serial")
public class Rubro implements Identity, Serializable {

    @Expose
    private Integer id;

    @Expose
    private String descripcion;

    @Expose
    private String codigo;

    @Expose
    private Collection<Subrubro> subrubros;

    @Expose
    private Boolean activo;

    @Expose
    private Date fechaMod;

    public Rubro() {
	this.descripcion = "";
	this.subrubros = new ArrayList<Subrubro>();
	this.fechaMod = new Date();
    }

    public Rubro(String descripcion) {
	this.descripcion = descripcion;
	this.subrubros = new ArrayList<Subrubro>();
	this.fechaMod = new Date();
    }

    public Rubro(String descripcion, Collection<Subrubro> subrubros) {
	this.descripcion = descripcion;
	this.subrubros = subrubros;
	this.fechaMod = new Date();
    }

    public Integer getId() {
	return id;
    }

    public void setId(Integer id) {
	this.id = id;
    }

    public String getDescripcion() {
	return descripcion;
    }

    public void setDescripcion(String descripcion) {
	this.descripcion = descripcion;
    }

    public String getCodigo() {
	return codigo;
    }

    public void setCodigo(String codigo) {
	this.codigo = codigo;
    }

    public Collection<Subrubro> getSubrubros() {
	return subrubros;
    }

    public void setSubrubros(Collection<Subrubro> subrubros) {
	this.subrubros = subrubros;
    }

    public Boolean getActivo() {
	return activo;
    }

    public void setActivo(Boolean activo) {
	this.activo = activo;
    }

    public Date getFechaMod() {
	return fechaMod;
    }

    public void setFechaMod(Date fechaMod) {
	this.fechaMod = fechaMod;
    }

    @Override
    public String toString() {
	return (descripcion != null ? descripcion : "");
    }

}
